package com.sunny.fetch.pojo;

import java.util.ArrayList;
import java.util.List;

public class FBoCinemaExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public FBoCinemaExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andTidIsNull() {
            addCriterion("tid is null");
            return (Criteria) this;
        }

        public Criteria andTidIsNotNull() {
            addCriterion("tid is not null");
            return (Criteria) this;
        }

        public Criteria andTidEqualTo(Long value) {
            addCriterion("tid =", value, "tid");
            return (Criteria) this;
        }

        public Criteria andTidNotEqualTo(Long value) {
            addCriterion("tid <>", value, "tid");
            return (Criteria) this;
        }

        public Criteria andTidGreaterThan(Long value) {
            addCriterion("tid >", value, "tid");
            return (Criteria) this;
        }

        public Criteria andTidGreaterThanOrEqualTo(Long value) {
            addCriterion("tid >=", value, "tid");
            return (Criteria) this;
        }

        public Criteria andTidLessThan(Long value) {
            addCriterion("tid <", value, "tid");
            return (Criteria) this;
        }

        public Criteria andTidLessThanOrEqualTo(Long value) {
            addCriterion("tid <=", value, "tid");
            return (Criteria) this;
        }

        public Criteria andTidIn(List<Long> values) {
            addCriterion("tid in", values, "tid");
            return (Criteria) this;
        }

        public Criteria andTidNotIn(List<Long> values) {
            addCriterion("tid not in", values, "tid");
            return (Criteria) this;
        }

        public Criteria andTidBetween(Long value1, Long value2) {
            addCriterion("tid between", value1, value2, "tid");
            return (Criteria) this;
        }

        public Criteria andTidNotBetween(Long value1, Long value2) {
            addCriterion("tid not between", value1, value2, "tid");
            return (Criteria) this;
        }

        public Criteria andDateIsNull() {
            addCriterion("date is null");
            return (Criteria) this;
        }

        public Criteria andDateIsNotNull() {
            addCriterion("date is not null");
            return (Criteria) this;
        }

        public Criteria andDateEqualTo(String value) {
            addCriterion("date =", value, "date");
            return (Criteria) this;
        }

        public Criteria andDateNotEqualTo(String value) {
            addCriterion("date <>", value, "date");
            return (Criteria) this;
        }

        public Criteria andDateGreaterThan(String value) {
            addCriterion("date >", value, "date");
            return (Criteria) this;
        }

        public Criteria andDateGreaterThanOrEqualTo(String value) {
            addCriterion("date >=", value, "date");
            return (Criteria) this;
        }

        public Criteria andDateLessThan(String value) {
            addCriterion("date <", value, "date");
            return (Criteria) this;
        }

        public Criteria andDateLessThanOrEqualTo(String value) {
            addCriterion("date <=", value, "date");
            return (Criteria) this;
        }

        public Criteria andDateLike(String value) {
            addCriterion("date like", value, "date");
            return (Criteria) this;
        }

        public Criteria andDateNotLike(String value) {
            addCriterion("date not like", value, "date");
            return (Criteria) this;
        }

        public Criteria andDateIn(List<String> values) {
            addCriterion("date in", values, "date");
            return (Criteria) this;
        }

        public Criteria andDateNotIn(List<String> values) {
            addCriterion("date not in", values, "date");
            return (Criteria) this;
        }

        public Criteria andDateBetween(String value1, String value2) {
            addCriterion("date between", value1, value2, "date");
            return (Criteria) this;
        }

        public Criteria andDateNotBetween(String value1, String value2) {
            addCriterion("date not between", value1, value2, "date");
            return (Criteria) this;
        }

        public Criteria andCNameIsNull() {
            addCriterion("c_name is null");
            return (Criteria) this;
        }

        public Criteria andCNameIsNotNull() {
            addCriterion("c_name is not null");
            return (Criteria) this;
        }

        public Criteria andCNameEqualTo(String value) {
            addCriterion("c_name =", value, "cName");
            return (Criteria) this;
        }

        public Criteria andCNameNotEqualTo(String value) {
            addCriterion("c_name <>", value, "cName");
            return (Criteria) this;
        }

        public Criteria andCNameGreaterThan(String value) {
            addCriterion("c_name >", value, "cName");
            return (Criteria) this;
        }

        public Criteria andCNameGreaterThanOrEqualTo(String value) {
            addCriterion("c_name >=", value, "cName");
            return (Criteria) this;
        }

        public Criteria andCNameLessThan(String value) {
            addCriterion("c_name <", value, "cName");
            return (Criteria) this;
        }

        public Criteria andCNameLessThanOrEqualTo(String value) {
            addCriterion("c_name <=", value, "cName");
            return (Criteria) this;
        }

        public Criteria andCNameLike(String value) {
            addCriterion("c_name like", value, "cName");
            return (Criteria) this;
        }

        public Criteria andCNameNotLike(String value) {
            addCriterion("c_name not like", value, "cName");
            return (Criteria) this;
        }

        public Criteria andCNameIn(List<String> values) {
            addCriterion("c_name in", values, "cName");
            return (Criteria) this;
        }

        public Criteria andCNameNotIn(List<String> values) {
            addCriterion("c_name not in", values, "cName");
            return (Criteria) this;
        }

        public Criteria andCNameBetween(String value1, String value2) {
            addCriterion("c_name between", value1, value2, "cName");
            return (Criteria) this;
        }

        public Criteria andCNameNotBetween(String value1, String value2) {
            addCriterion("c_name not between", value1, value2, "cName");
            return (Criteria) this;
        }

        public Criteria andAudCountIsNull() {
            addCriterion("aud_count is null");
            return (Criteria) this;
        }

        public Criteria andAudCountIsNotNull() {
            addCriterion("aud_count is not null");
            return (Criteria) this;
        }

        public Criteria andAudCountEqualTo(Integer value) {
            addCriterion("aud_count =", value, "audCount");
            return (Criteria) this;
        }

        public Criteria andAudCountNotEqualTo(Integer value) {
            addCriterion("aud_count <>", value, "audCount");
            return (Criteria) this;
        }

        public Criteria andAudCountGreaterThan(Integer value) {
            addCriterion("aud_count >", value, "audCount");
            return (Criteria) this;
        }

        public Criteria andAudCountGreaterThanOrEqualTo(Integer value) {
            addCriterion("aud_count >=", value, "audCount");
            return (Criteria) this;
        }

        public Criteria andAudCountLessThan(Integer value) {
            addCriterion("aud_count <", value, "audCount");
            return (Criteria) this;
        }

        public Criteria andAudCountLessThanOrEqualTo(Integer value) {
            addCriterion("aud_count <=", value, "audCount");
            return (Criteria) this;
        }

        public Criteria andAudCountIn(List<Integer> values) {
            addCriterion("aud_count in", values, "audCount");
            return (Criteria) this;
        }

        public Criteria andAudCountNotIn(List<Integer> values) {
            addCriterion("aud_count not in", values, "audCount");
            return (Criteria) this;
        }

        public Criteria andAudCountBetween(Integer value1, Integer value2) {
            addCriterion("aud_count between", value1, value2, "audCount");
            return (Criteria) this;
        }

        public Criteria andAudCountNotBetween(Integer value1, Integer value2) {
            addCriterion("aud_count not between", value1, value2, "audCount");
            return (Criteria) this;
        }

        public Criteria andAttRatioIsNull() {
            addCriterion("att_ratio is null");
            return (Criteria) this;
        }

        public Criteria andAttRatioIsNotNull() {
            addCriterion("att_ratio is not null");
            return (Criteria) this;
        }

        public Criteria andAttRatioEqualTo(Float value) {
            addCriterion("att_ratio =", value, "attRatio");
            return (Criteria) this;
        }

        public Criteria andAttRatioNotEqualTo(Float value) {
            addCriterion("att_ratio <>", value, "attRatio");
            return (Criteria) this;
        }

        public Criteria andAttRatioGreaterThan(Float value) {
            addCriterion("att_ratio >", value, "attRatio");
            return (Criteria) this;
        }

        public Criteria andAttRatioGreaterThanOrEqualTo(Float value) {
            addCriterion("att_ratio >=", value, "attRatio");
            return (Criteria) this;
        }

        public Criteria andAttRatioLessThan(Float value) {
            addCriterion("att_ratio <", value, "attRatio");
            return (Criteria) this;
        }

        public Criteria andAttRatioLessThanOrEqualTo(Float value) {
            addCriterion("att_ratio <=", value, "attRatio");
            return (Criteria) this;
        }

        public Criteria andAttRatioIn(List<Float> values) {
            addCriterion("att_ratio in", values, "attRatio");
            return (Criteria) this;
        }

        public Criteria andAttRatioNotIn(List<Float> values) {
            addCriterion("att_ratio not in", values, "attRatio");
            return (Criteria) this;
        }

        public Criteria andAttRatioBetween(Float value1, Float value2) {
            addCriterion("att_ratio between", value1, value2, "attRatio");
            return (Criteria) this;
        }

        public Criteria andAttRatioNotBetween(Float value1, Float value2) {
            addCriterion("att_ratio not between", value1, value2, "attRatio");
            return (Criteria) this;
        }

        public Criteria andDayAmountIsNull() {
            addCriterion("day_amount is null");
            return (Criteria) this;
        }

        public Criteria andDayAmountIsNotNull() {
            addCriterion("day_amount is not null");
            return (Criteria) this;
        }

        public Criteria andDayAmountEqualTo(Float value) {
            addCriterion("day_amount =", value, "dayAmount");
            return (Criteria) this;
        }

        public Criteria andDayAmountNotEqualTo(Float value) {
            addCriterion("day_amount <>", value, "dayAmount");
            return (Criteria) this;
        }

        public Criteria andDayAmountGreaterThan(Float value) {
            addCriterion("day_amount >", value, "dayAmount");
            return (Criteria) this;
        }

        public Criteria andDayAmountGreaterThanOrEqualTo(Float value) {
            addCriterion("day_amount >=", value, "dayAmount");
            return (Criteria) this;
        }

        public Criteria andDayAmountLessThan(Float value) {
            addCriterion("day_amount <", value, "dayAmount");
            return (Criteria) this;
        }

        public Criteria andDayAmountLessThanOrEqualTo(Float value) {
            addCriterion("day_amount <=", value, "dayAmount");
            return (Criteria) this;
        }

        public Criteria andDayAmountIn(List<Float> values) {
            addCriterion("day_amount in", values, "dayAmount");
            return (Criteria) this;
        }

        public Criteria andDayAmountNotIn(List<Float> values) {
            addCriterion("day_amount not in", values, "dayAmount");
            return (Criteria) this;
        }

        public Criteria andDayAmountBetween(Float value1, Float value2) {
            addCriterion("day_amount between", value1, value2, "dayAmount");
            return (Criteria) this;
        }

        public Criteria andDayAmountNotBetween(Float value1, Float value2) {
            addCriterion("day_amount not between", value1, value2, "dayAmount");
            return (Criteria) this;
        }

        public Criteria andDayShowcountIsNull() {
            addCriterion("day_showcount is null");
            return (Criteria) this;
        }

        public Criteria andDayShowcountIsNotNull() {
            addCriterion("day_showcount is not null");
            return (Criteria) this;
        }

        public Criteria andDayShowcountEqualTo(Float value) {
            addCriterion("day_showcount =", value, "dayShowcount");
            return (Criteria) this;
        }

        public Criteria andDayShowcountNotEqualTo(Float value) {
            addCriterion("day_showcount <>", value, "dayShowcount");
            return (Criteria) this;
        }

        public Criteria andDayShowcountGreaterThan(Float value) {
            addCriterion("day_showcount >", value, "dayShowcount");
            return (Criteria) this;
        }

        public Criteria andDayShowcountGreaterThanOrEqualTo(Float value) {
            addCriterion("day_showcount >=", value, "dayShowcount");
            return (Criteria) this;
        }

        public Criteria andDayShowcountLessThan(Float value) {
            addCriterion("day_showcount <", value, "dayShowcount");
            return (Criteria) this;
        }

        public Criteria andDayShowcountLessThanOrEqualTo(Float value) {
            addCriterion("day_showcount <=", value, "dayShowcount");
            return (Criteria) this;
        }

        public Criteria andDayShowcountIn(List<Float> values) {
            addCriterion("day_showcount in", values, "dayShowcount");
            return (Criteria) this;
        }

        public Criteria andDayShowcountNotIn(List<Float> values) {
            addCriterion("day_showcount not in", values, "dayShowcount");
            return (Criteria) this;
        }

        public Criteria andDayShowcountBetween(Float value1, Float value2) {
            addCriterion("day_showcount between", value1, value2, "dayShowcount");
            return (Criteria) this;
        }

        public Criteria andDayShowcountNotBetween(Float value1, Float value2) {
            addCriterion("day_showcount not between", value1, value2, "dayShowcount");
            return (Criteria) this;
        }

        public Criteria andAvgPriceIsNull() {
            addCriterion("avg_price is null");
            return (Criteria) this;
        }

        public Criteria andAvgPriceIsNotNull() {
            addCriterion("avg_price is not null");
            return (Criteria) this;
        }

        public Criteria andAvgPriceEqualTo(Float value) {
            addCriterion("avg_price =", value, "avgPrice");
            return (Criteria) this;
        }

        public Criteria andAvgPriceNotEqualTo(Float value) {
            addCriterion("avg_price <>", value, "avgPrice");
            return (Criteria) this;
        }

        public Criteria andAvgPriceGreaterThan(Float value) {
            addCriterion("avg_price >", value, "avgPrice");
            return (Criteria) this;
        }

        public Criteria andAvgPriceGreaterThanOrEqualTo(Float value) {
            addCriterion("avg_price >=", value, "avgPrice");
            return (Criteria) this;
        }

        public Criteria andAvgPriceLessThan(Float value) {
            addCriterion("avg_price <", value, "avgPrice");
            return (Criteria) this;
        }

        public Criteria andAvgPriceLessThanOrEqualTo(Float value) {
            addCriterion("avg_price <=", value, "avgPrice");
            return (Criteria) this;
        }

        public Criteria andAvgPriceIn(List<Float> values) {
            addCriterion("avg_price in", values, "avgPrice");
            return (Criteria) this;
        }

        public Criteria andAvgPriceNotIn(List<Float> values) {
            addCriterion("avg_price not in", values, "avgPrice");
            return (Criteria) this;
        }

        public Criteria andAvgPriceBetween(Float value1, Float value2) {
            addCriterion("avg_price between", value1, value2, "avgPrice");
            return (Criteria) this;
        }

        public Criteria andAvgPriceNotBetween(Float value1, Float value2) {
            addCriterion("avg_price not between", value1, value2, "avgPrice");
            return (Criteria) this;
        }

        public Criteria andPPcIsNull() {
            addCriterion("p_pc is null");
            return (Criteria) this;
        }

        public Criteria andPPcIsNotNull() {
            addCriterion("p_pc is not null");
            return (Criteria) this;
        }

        public Criteria andPPcEqualTo(Float value) {
            addCriterion("p_pc =", value, "pPc");
            return (Criteria) this;
        }

        public Criteria andPPcNotEqualTo(Float value) {
            addCriterion("p_pc <>", value, "pPc");
            return (Criteria) this;
        }

        public Criteria andPPcGreaterThan(Float value) {
            addCriterion("p_pc >", value, "pPc");
            return (Criteria) this;
        }

        public Criteria andPPcGreaterThanOrEqualTo(Float value) {
            addCriterion("p_pc >=", value, "pPc");
            return (Criteria) this;
        }

        public Criteria andPPcLessThan(Float value) {
            addCriterion("p_pc <", value, "pPc");
            return (Criteria) this;
        }

        public Criteria andPPcLessThanOrEqualTo(Float value) {
            addCriterion("p_pc <=", value, "pPc");
            return (Criteria) this;
        }

        public Criteria andPPcIn(List<Float> values) {
            addCriterion("p_pc in", values, "pPc");
            return (Criteria) this;
        }

        public Criteria andPPcNotIn(List<Float> values) {
            addCriterion("p_pc not in", values, "pPc");
            return (Criteria) this;
        }

        public Criteria andPPcBetween(Float value1, Float value2) {
            addCriterion("p_pc between", value1, value2, "pPc");
            return (Criteria) this;
        }

        public Criteria andPPcNotBetween(Float value1, Float value2) {
            addCriterion("p_pc not between", value1, value2, "pPc");
            return (Criteria) this;
        }

        public Criteria andRankIsNull() {
            addCriterion("rank is null");
            return (Criteria) this;
        }

        public Criteria andRankIsNotNull() {
            addCriterion("rank is not null");
            return (Criteria) this;
        }

        public Criteria andRankEqualTo(Integer value) {
            addCriterion("rank =", value, "rank");
            return (Criteria) this;
        }

        public Criteria andRankNotEqualTo(Integer value) {
            addCriterion("rank <>", value, "rank");
            return (Criteria) this;
        }

        public Criteria andRankGreaterThan(Integer value) {
            addCriterion("rank >", value, "rank");
            return (Criteria) this;
        }

        public Criteria andRankGreaterThanOrEqualTo(Integer value) {
            addCriterion("rank >=", value, "rank");
            return (Criteria) this;
        }

        public Criteria andRankLessThan(Integer value) {
            addCriterion("rank <", value, "rank");
            return (Criteria) this;
        }

        public Criteria andRankLessThanOrEqualTo(Integer value) {
            addCriterion("rank <=", value, "rank");
            return (Criteria) this;
        }

        public Criteria andRankIn(List<Integer> values) {
            addCriterion("rank in", values, "rank");
            return (Criteria) this;
        }

        public Criteria andRankNotIn(List<Integer> values) {
            addCriterion("rank not in", values, "rank");
            return (Criteria) this;
        }

        public Criteria andRankBetween(Integer value1, Integer value2) {
            addCriterion("rank between", value1, value2, "rank");
            return (Criteria) this;
        }

        public Criteria andRankNotBetween(Integer value1, Integer value2) {
            addCriterion("rank not between", value1, value2, "rank");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}